Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Transformaciones de mapeo de imágenes (página 2)




Enviado por Pablo Turmero



Partes: 1, 2

Monografias.com
¿Cómo unificar todas estas deformaciones? Es decir, crear un marco común a todas ellas.
Idea: supongamos que sobre una imagen podemos colocar una capa de agua. Podemos poner gotas, hacer ondas, formar olas, etc.
La deformación de la imagen es el resultado de la refracción de la luz, al pasar del aire al agua.
R
Imagen deformada
Imagen original
Superficie de agua
Esta es la idea, pero en 2D
A
S

Monografias.com
Ojo, la superficie deformante, S, no es ni más ni menos que una imagen, donde el valor de un píxel S(x,y) indica la altura del agua en ese punto.
S1. Superficie de efecto pinchar/estirar
S2. Superficie de efecto de ondas marinas
Ahora sólo hay que calcular los rayos incidentes, el ángulo de refracción de cada uno, y el sitio donde choca con el fondo…
S(x,y):= e-((x-cx)2+(y-cy)2)/s2
S(x,y):= sen(f·sqrt((x-cx)2+(y-cy)2))

Monografias.com
Objetivo: dada una imagen A, una superficie deformante S (imagen de 1 solo canal) definir la transformación geométrica correspondiente: R(x,y):= A(f1(x,y,S), f2(x,y,S))
En una dimensión: en el caso de mayor refracción, el rayo se desvía perpendicularmente a la superficie del agua.
R
Imagen deformada
Imagen original
Superficie deformante
A
S
x
tx
¡Esto es lo que nos interesa! ¿Cuánto vale?
S(x)
a
tx/S(x) = tan(a)
Pero tan(a) es la pendiente de S en x ? tx = S(x)·S’(x)

Monografias.com
¡Ya está! ? R(x):= A( x + S(x)·dS(x)/dx )
Y en dos dimensiones:
R(x,y):= A( x + S(x,y)·dS(x,y)/dx , y + S(x,y)·dS(x,y)/dy )
Ale, ¡todos a derivar!

S(x,y)·dS(s,y)/dx = e-((x-cx)2+(y-cy)2)/s2·d(e-((x-cx)2+(y-cy)2)/s2)/dx == -2(x-cx)/s2·e-2((x-cx)2+(y-cy)2)/s2 ….

Y así para cualquier función…

Pero, ¿qué vimos en el tema anterior?
La derivada en X (o en Y) de una imagen se puede calcular con un filtro de convolución adecuado: Sobel, Prewitt, Scharr, etc.
Además, de esta forma podemos usar cualquier superficie deformante arbitraria.
Cachis… ¿no habrá una forma más sencilla?

Monografias.com
Algoritmo. Transformación de una imagen A según la superficie deformante S.
1) Calcular Gx:= Sx ? Ssiendo Sx una máscara de derivada en X
2) Calcular Gy:= Sy ? Ssiendo Sy una máscara de derivada en Y
3) Calcular MapaX(x,y):= x + a·S(x,y)·Gx(x,y)
4) Calcular MapaY(x,y):= y + a·S(x,y)·Gy(x,y)
5) Obtener la imagen resultante:
R(x,y):= A(MapaX(x,y), MapaY(x,y))
Notas: todas las imágenes (A, S, Gx, Gy, MapaX, MapaY, R) son del mismo tamaño.
El parámetro a indica el grado de la transformación. Cuanto mayor, más pronunciada.
Sx
Sy

Monografias.com
Ejemplo. Aplicación de la deformación de ondas.
Im. de entrada, A
Sup. deformante, S
Im. de salida, R
Derivada X, Gx
Derivada Y, Gy
Mapa Y, S·Gy
Mapa X, S·Gx
Superficie en 3D
Ojo: -1=Negro, +1=Blanco

Monografias.com
Transformación de ondas:
S(x,y):= sen(f·sqrt((x-cx)2+(y-cy)2)+p)
(cx, cy): centro de las ondas
f: frecuencia; p: fase
Transformación apretar/pinchar:S(x,y):= e-((x-cx)2+(y-cy)2)/s2
(cx, cy): centro de la deformación
s: anchura de la zona deformada
a: fuerza de la deformación; a<0 ? pinchar, a>0 ? estirar
Variación de frecuencia
Variación de fase
Variación de fuerza

Monografias.com
Lo interesante de esta transformación es que se puede usar cualquier imagen como superficie deformante.
A1
S1
R1
A2
S2
R2

Monografias.com
Las transformaciones geométricas son esenciales en las composiciones panorámicas.
Idea: obtener la imagen que debería estar pegada a un cilindro que envuelve todo el campo visual del sujeto.
Cuestión: ¿cómo se proyectan las imágenes individuales en el cilindro?
Imágenes de entrada
Imagen resultado

Monografias.com
Idea: la X en la panorámica es el ángulo en el cilindro.
La proyección de un punto (xa,ya) de la imagen viene dada por la intersección de la recta que pasa por (xa,ya,1) y (0,0,0), y el cilindro con radio 1, a lo largo del eje Y.
XA
YA
YR
XR
(Gp:) X
(Gp:) Y
(Gp:) Z
(Gp:) (xa,ya)

Vista superior
1
¿Dónde toca la imagen con el cilindro? Centro: (xc,yc)

Monografias.com
Si todas las fotos se toman desde el centro, sin mover la cámara (sólo girarla en Y), el punto (xc,yc) será el centro de la imagen (mX/2, mY/2).
Si hay giro arriba o abajo, sí que se modifica yc.
Y también puede haber giro a lo largo de Z.
Otro parámetro es cuántos grados corresponden al ancho de una foto, es decir cuánto es el campo visual. Lo podemos medir en el número de píxeles que representan 45º, fp.
Con estos parámetros, la transformación será:
xR:= arctan ((xA-xc)/fp)
yR:= (yA-yc)/sqrt((xA-xc)2 + (yA-yc)2 + fp))
xR estará entre -90º y 90º,yR entre -mY/2 y mY/2.
Ojo, esta fp no es ni más ni menos que la distancia focal
Podrá variar según el valor del zoom

Monografias.com
Pero, cuidado, lo que necesitamos son las funciones f1(x,y) y f2(x,y) (de R(x,y):= A(f1(x,y), f2(x,y)) que vienen dadas por las inversas:
f1(x,y):= xc + fp·tan x
f2(x,y):= yc + y·sqrt(1+tan2 x)
En definitiva, tenemos una transformación con 3 parámetros:
El centro de la imagen (cx, cy).
La distancia focal, en píxeles, fp.
Ejemplo. Variación de df, con centro (mx/2, my/2), 480×360.
df = 20 pix.
df = 120 pix.
df = 530 pix.

Monografias.com
La distancia focal no cambia, si no cambiamos el zoom entre una foto y otra. Se puede calibrar una vez y usarla en todas las fotos de la composición.

El centro en X se puede dejar en la mitad de la imagen, si no cambiamos el eje de rotación.

El centro en Y, cy, puede cambiar.
El giro en el eje Z también. Se puede corregir con una rotación afín a priori.
Por último, se debe encontrar el desplazamiento en X para ajustar las imágenes.
Calibración previa
Calibración para cada grupo de imágenes

Monografias.com
Proceso:
1) Buscar puntos análogos (de forma manual o automática) entre cada par de imágenes consecutivas.
2) Calcular los parámetros de la transformación, usando los puntos definidos.
3) Transformar las imágenes individualmente.
4) Componer las imágenes resultantes.

Monografias.com
Versión simplificada (aunque inexacta):
Normalmente la distancia focal será grande y se puede sustituir la transf. anterior por una simple transf. afín.
Parámetros de la transf. afín: desplazamiento (dx,dy), escala s (igual en ambos ejes) y rotación r. No hay inclinac.
Con dos puntosanálogos bastapara resolverlos 4 parámetros.
Es mucho más sencillo, pero peor. Observar la línea quebrada del canal

Monografias.com
Corrección de la distorsión radial
La distorsión radial es una deformación introducida por las lentes de las cámaras, que da lugar a un curvado de las zonas periféricas de las imágenes.
Observar la curvatura de la puerta
La distorsión radial se modela como un desplazamiento radial, según la distancia, r, al centro de la imagen de la forma:
p·(1 + k1r2 + k2r4)

Monografias.com
Corrección de la distorsión radial:
R(x,y):= A((x-cx)(1+k1r2+k2r4)+cx , (y-cy)(1+k1r2+k2r4)+cy)
con r2 = (x-cx)2 + (y-cy)2
Para poder aplicarla, tenemos que encontrar valores adecuados de k1, k2, cx y cy. ? Calibración.
Posibilidades: hacer pruebas, o bien obtener 4 ecuaciones.
Imagen de entrada (384×288)
Imagen resultantecon k1= -2,9·10-7, k2= -1·10-13

Monografias.com
Otro tipo de transformaciones geométricas interesantes son las de morphing, muy usadas en efectos especiales.
El morphing es un efecto de transición suave y progresiva entre dos (o más) imágenes.
Está basado en algunas ideas ya estudiadas:
Una transformación geométrica, definida por un conjunto de puntos de origen, S, y otro de destino, D. El proceso es similar a la transformación de malla, pero en lugar de rectángulos se usan segmentos equivalentes.
La transf. geométrica está graduada, entre las posiciones de origen y de destino. 0%: posiciones de origen, 100%: posiciones de destino, 50%: término medio entre ambos.
El color de un píxel es una media ponderada, entre la imagen origen y destino, según el grado de la transformación.

Monografias.com
Morphing entre dos imágenes basado en líneas.
Paso 1. Establecersegmentos equivalentesentre dos imágenes.
Segmentos origen, S
Segmentos destino, D
S= (s1, s2, …, sn)
D= (d1, d2, …, dn)

Paso 2. Repetir el proceso para g desde 0 hasta 1.En el paso g, los segmentos intermedios son: ik= (1-g)sk + g·dk
A
B

Monografias.com
Morphing entre dos imágenes basado en líneas.
2.1. Transformar A, moviendo los puntos de S a I ? R1
2.2. Transformar B, moviendo los puntos de D a I ? R2
2.3. Media ponderada: R= (1-g)R1 + g·R2

Monografias.com
Conclusiones:
Las transformaciones de mapeo son el caso general de las transformaciones geométricas.
Permiten modelar los efectos producidos por fenómenos físicos naturales.
Para simularlos (efecto de ondas, pinchar, estirar…).
Para corregirlos (distorsión radial, aberraciones en las lentes…).
Y también otras cosas no naturales: efectos especiales.
La transformación de mapeo está definida por un par de funciones f1, f2, (RxR ? R) o bien un par de imágenes mapax, mapay.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter